草庐IT

OpenGL 灰度图

全部标签

windows - 单个 OpenGL 上下文,多个 View

我有一个Windows应用程序,它可以创建多个View窗口,这些窗口可以使用OpenGL(3.2+)渲染某些模型。每个窗口都可以渲染它自己的独立对象,或者两个(或更多)窗口可以渲染同一个对象(但例如从不同的相机视角):在阅读了stackoverflow上的各种帖子后,我决定创建一个单独的OpenGL上下文(HGLRC),并且对于我要渲染到(HDC)的每个窗口,我都会切换wglMakeCurrent(targetWindowHDC,m_deviceContext)正如您在屏幕截图中看到的那样,这基本上似乎工作正常(窗口代码发生在主线程上,对于渲染,我有自己的RenderThread,所有

c++ - 加载的 OpenGL 函数是上下文特定的还是线程特定的? ( Windows )

考虑一个场景,其中2个渲染上下文(每个都属于它们自己不同的窗口)存在于2个独立的执行线程中。OpenGL函数指针是否需要分别加载和使用?或者gl*函数指针可以是全局的,只为给定的应用程序实例加载一次并由两个窗口或上下文使用吗?我问的原因是因为OpenGLFunctionLoadingDocs,在谈到加载wgl函数时,指出:ThisfunctiononlyworksinthepresenceofavalidOpenGLcontext.Indeed,thefunctionpointersitreturnsarethemselvescontext-specific.TheWindowsdoc

c++ - 我应该始终对 OpenGL 中的所有纹理使用 GL_ARGB 格式吗?

这一直困扰着我一段时间......而且很难真正看到性能上的任何差异,所以我在这里问:如果我的图像不使用alphachannel,我应该使用“GL_RGB”将它们保存在GFX卡内存中,还是应该使用“GL_ARGB”因为它的完整32位block处理速度更快?或者GFX卡是否会自动将24位图像转换为32位图像以缩短渲染时间?编辑:我没有性能问题,但我只想以最好的方式做到这一点!我还想确保该程序在旧显卡上呈现良好,而不必像新显卡那样优化东西。 最佳答案 选择适合您的纹理数据的格式,让显卡驱动程序操心细节。不要试图智取它。OpenGL实现非常

c++ - 在现有图形应用程序上绘制 DirectX/OpenGL 图形

首先,如果这个问题已经得到解答,让我马上道歉,因为我可能只是在不规则的搜索条件下搜索它。我希望在使用DirectX绘制自己的图形(游戏)的应用程序中绘制2D图形。我将通过将DLL注入(inject)应用程序(我对此没有疑问,我可以做到)并绘制我的图形来做到这一点。但我不太擅长DirectX/OpenGL,所以我有几个基本问​​题要问。1)为了在该窗口上绘制图形,我是否需要从进程内存中获取预先存在的上下文,某种绘制场景的句柄?2)如果应用程序使用DirectX,我可以在上面使用OpenGL图形吗?请告诉我如何解决这个问题。任何细节将不胜感激:-)提前谢谢你。

c++ - SetPixelFormat() 中的第三个参数对于 OpenGL 上下文创建有什么意义?

这个问题在这里已经有了答案:WhatisthePIXELFORMATDESCRIPTORparameterinSetPixelFormat()usedfor?(1个回答)关闭5年前。在Windows上创建OpenGL上下文之前,我们需要为Window的设备上下文调用SetPixelFormat。其函数原型(prototype)如下:BOOLWINAPISetPixelFormat(HDChdc,intiPixelFormat,constPIXELFORMATDESCRIPTOR*ppfd);当创建一个固定的函数上下文时,我们通过使用我们想要的像素格式调用ChoosePixelForma

c# - 将 OpenGL 用于桌面应用程序是否合理?

我一直在编写一个小型桌面小工具类型的应用程序,它在屏幕底部显示滚动文本(类似于旧的CNN新闻自动收报机),但是GDI的性能并不令人满意(高达8-12%在四核上,20%在单核上),即使在我尝试清除瓶颈之后也是如此。我正在考虑使用OpenGL来渲染所有内容,但我不知道这是否是要求用户为这样的小应用程序提供硬件加速的合理选择。有人对此有任何意见吗? 最佳答案 如果您对使用OpenGL感到满意,并且您的目标用户对OpenGL带来的额外依赖性感到满意,那么我建议您使用它。:)就继续使用GDI而言,我会确保您尽可能多地渲染文本(通过渲染到位图和

c++ - OpenGL(在 Qt 中)- 旋转问题

我用openGL做了一个简单的代码。你必须选择一张图片,仅此而已。现在您可以使用这些键进行旋转a,s->绕x轴旋转d,f->绕y轴旋转b,n->绕z轴旋转。问题是z轴旋转总是工作正常。但是,x,y旋转并不总是正确的。测试:按任何(一个)按钮,然后你可以看到一个轴根本没有移动,另一个轴在移动。您可以检查所有三个轴。但是一段时间后,即使您尝试绕x轴旋转对象,您也可以看到所有三个轴都在移动。奇怪的是,绕z轴的旋转总是正常的。只有另外两个让人头疼。这是“main.cpp”#include#include#include#include#include#include#include#inclu

c# - DirectX 或 OpenGL

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion如果您要用C#编写下一个3d图形密集型应用程序(例如3d建模和动画软件),哪个是更好的选择?如果我们认为C#与平台无关,那么OpenGL似乎很诱人,但性能等方面呢?由于使用的语言是C#,因此性能非常重要。编辑:您也可以考虑SlimDX和TAO、OpenTK、csGL等。

c# - 适用于 Windows 8 的哪个图形框架?单人游戏? OpenGL 和 Xaml/DirectX 混合?

我想为Windows8开发一款游戏,但由于不支持Xna,我真的不知道,使用像MonoGame这样的东西是否好-因为我认为,它没有任何意义在UI前端与DirectX一起运行时,将MonoDevelop与OpenGL结合使用。但我在“apptivate.ms”上的搜索仍然迫使开发人员使用MonoDevelop——但为什么像微软这样的公司会这样做呢?而且我不喜欢用C++和DirectX构建我的游戏,因为在我的情况下,这不是一个大型游戏,我最喜欢的语言(也是我工作中的语言)是C#..顺便说一句,用OpenGL或C++编写这个游戏对我来说没什么大不了的,因为在过去的四年里我在这两个方面有很多经验

c# - 在 C# 中使用 emguCV 转换为灰度

我是EmguCV的新手。我想将rgb图像转换为灰度图像。对于转换,我使用了代码ImagegrayImage=ColordImage.Convert();现在,当我在C#中编译这段代码时,它没有给出任何错误,但是当我运行它时,几秒钟后,它在这行代码中给出了OpenCV不支持这种类型的转换的异常。现在谁能帮我解决这个问题。问候阿马尔 最佳答案 这可能取决于ColordImage的颜色类型。例如,这个有效:Capturecap=newCapture(1);ImageColordImage=cap.QueryFrame();Imagegra